示例#1
0
        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);
        }