public ActivityDetailResponse CreateUpdateActivity(ActivityDetailResponse det) { bool res = default(bool); if (det.ActivityDate == null || det.ProductName == string.Empty || det.ProductId == string.Empty) { det = new ActivityDetailResponse(); det.Error = "Failed to create or update farm request structure invalid"; det.Status = ResponseStatus.Failed; return(det); } try { if (HttpContext.Current.Session[ApplicationConstant.UserSession] != null) { SessionData sessionObject = (SessionData)HttpContext.Current.Session[ApplicationConstant.UserSession]; ActivityDetail response = new ActivityDetail(); var connectionString = "AggieGlobal"; var repo = new ActivityManager(connectionString); response.ActivityId = (det.ActivityId != null && det.ActivityId != string.Empty ? Convert.ToInt32(EncryptionHelper.AesDecryption(det.ActivityId.ToString(), EncryptionKey.LOG)) : default(int)); response.ProductTypeId = det.ProductTypeId; response.UserId = sessionObject._userId; response.CategoryId = Convert.ToInt32(EncryptionHelper.AesDecryption(det.CategoryId.ToString(), EncryptionKey.LOG)); response.ProductId = Convert.ToInt32(EncryptionHelper.AesDecryption(det.ProductId.ToString(), EncryptionKey.LOG)); response.LastHarvestedDate = (det.LastHarvestedDate.ToString().IndexOf("01-01-0001") > -1 ? DateTime.Now : det.LastHarvestedDate); response.ProductTypeId = det.ProductTypeId; response.IsHarvestedBefore = det.IsHarvestedBefore; //(det.IsHarvestedBefore==true?1 : 0); response.IsSoldBefore = det.IsSoldBefore; // == true ? 1 : 0; response.IsSoldBeforeNoReason = det.IsSoldBeforeNoReason; response.SoldPrice = det.SoldPrice; response.ActivityDate = (det.ActivityDate.ToString().IndexOf("01-01-0001") > -1 ? DateTime.Now : det.ActivityDate); response.PlantationDate = (det.PlantationDate.ToString().IndexOf("01-01-0001") > -1 ? DateTime.Now : det.PlantationDate); response.NumberOfLivestock = det.NumberOfLivestock; response.LiveStockUsageId = det.LiveStockUsageId; response.LiveStockUtilityId = det.LiveStockUtilityId; response.IsLivestockSalable = det.IsLivestockSalable; response.LastDateOfLivestockSold = (det.LastDateOfLivestockSold.ToString().IndexOf("01-01-0001") > -1 ? DateTime.Now : det.LastDateOfLivestockSold); response.LivestocksellingLocationId = det.LivestocksellingLocationId; response.LivestocksellingLocationName = det.LivestocksellingLocationName; response.LiveStockName = det.LiveStockName; response.LiveStockUsageName = det.LiveStockUsageName; response.LiveStockUtilityName = det.LiveStockUtilityName; response.SoldLiveStockAmount = det.SoldLiveStockAmount; response.ActivityDate = (det.ActivityDate.ToString().IndexOf("01-01-0001") > -1 ? DateTime.Now : det.ActivityDate); response.NumberOfResource = det.NumberOfResource; response.ResourceTypeId = det.ResourceTypeId; response.ResourceCostTypeId = det.ResourceCostTypeId; response.ResourcePrice = det.ResourcePrice; response.ResourceMaintenanceCostTypeId = det.ResourceMaintenanceCostTypeId; response.ResourceMaintenancePrice = det.ResourceMaintenancePrice; response.PlotId = Convert.ToInt32(EncryptionHelper.AesDecryption(det.PlotId.ToString(), EncryptionKey.LOG)); response.ActivityDescriptionId = det.ActivityDescriptionId; response.TotalNumberOfResource = det.TotalNumberOfResource; if (det.ProductResourceList != null && det.ProductResourceList.Count() > default(int)) { foreach (ProductResourcesResponse resource in det.ProductResourceList) { switch (resource.ProductRessourceType) { case ProductRessourceType.LivestocksellingLocation: { response.LivestocksellingLocationId = (resource.ProductResourceId.ToString() != string.Empty? Convert.ToInt32(EncryptionHelper.AesDecryption(resource.ProductResourceId.ToString(), EncryptionKey.LOG)):default(int)); response.LivestocksellingLocationName = resource.ProductResourceName; break; } case ProductRessourceType.LiveStockUsage: { response.LiveStockUsageId = (resource.ProductResourceId.ToString() != string.Empty ? Convert.ToInt32(EncryptionHelper.AesDecryption(resource.ProductResourceId.ToString(), EncryptionKey.LOG)) : default(int)); response.LiveStockUsageName = resource.ProductResourceName; break; } case ProductRessourceType.LivestockUtility: { response.LiveStockUtilityId = (resource.ProductResourceId.ToString() != string.Empty ? Convert.ToInt32(EncryptionHelper.AesDecryption(resource.ProductResourceId.ToString(), EncryptionKey.LOG)) : default(int)); response.LiveStockUtilityName = resource.ProductResourceName; break; } case ProductRessourceType.ResourceType: { response.ResourceTypeId = (resource.ProductResourceId.ToString() != string.Empty ? Convert.ToInt32(EncryptionHelper.AesDecryption(resource.ProductResourceId.ToString(), EncryptionKey.LOG)) : default(int)); response.ResourceTypeName = det.ResourceTypeName; break; } case ProductRessourceType.ResourceCostType: { response.ResourceCostTypeId = (resource.ProductResourceId.ToString() != string.Empty ? Convert.ToInt32(EncryptionHelper.AesDecryption(resource.ProductResourceId.ToString(), EncryptionKey.LOG)):default(int)); response.ResourcePrice = det.ResourcePrice; break; } case ProductRessourceType.ResourceMaintenaceCostType: { response.ResourceMaintenanceCostTypeId = (resource.ProductResourceId.ToString() != string.Empty ? Convert.ToInt32(EncryptionHelper.AesDecryption(resource.ProductResourceId.ToString(), EncryptionKey.LOG)) : default(int)); response.ResourceMaintenancePrice = det.ResourceMaintenancePrice; break; } } } } res = repo.CreateUpdateActivity(response); if (response.ActivityId > default(int)) { det = new ActivityDetailResponse(); det.ActivityId = Convert.ToString(EncryptionHelper.AesEncryption(response.ActivityId.ToString(), EncryptionKey.LOG)); det.Status = ResponseStatus.Successful; } else { det = new ActivityDetailResponse(); det.Error = "Failed to insert data"; det.Status = ResponseStatus.Successful; } repo.Dispose(); } } catch (Exception ex) { det = new ActivityDetailResponse(); det.Error = "Failed to create or update farm"; det.Status = ResponseStatus.Failed; AggieGlobalLogManager.Fatal("ActivityController :: CreateUpdateActivity failed :: " + ex.Message); } return(det); }